package com.heima;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

/***
 *@title RegexDemo06
 *@description <TODO description class purpose>
 *@author 12468
 *@version 1.0.0
 *@create 2025-09-03 23:39
 **/
public class RegexDemo06 {
    public static void main(String[] args) {
        /* 有如下文本，请按照要求爬取数据。
                Java自从95年问世以来，经历了很多版本，目前企业中用的最多的是Java8和Java11，
                因为这两个是长期支持版本，下一个长期支持版本是Java17，相信在未来不久Java17也会逐渐登上历史舞台
                要求:找出里面所有的JavaXX
         */

        String str = "Java自从95年问世以来，经历了很多版本，目前企业中用的最多的是Java8和Java11，" +
                "因为这两个是长期支持版本，下一个长期支持版本是Java17，相信在未来不久Java17也会逐渐登上历史舞台";

        //Pattern:表示正则表达式
        //Matcher: 文本匹配器，作用按照正则表达式的规则去读取字符串，从头开始读取。
        //          在大串中去找符合匹配规则的子串。

        // 1. 获取正则表达式对象
        Pattern p = Pattern.compile("Java\\d{0,2}");
        // 获取文本匹配器对象
        Matcher m = p.matcher(str);
        // 循环获取
        // m.find() 在字符串中匹配符合条件的字符串，如果匹配到则返回true 否则返回false
        while(m.find()) {
            // m.group() 将匹配到的子字符串返回
            String s = m.group();
            System.out.println(s);
        }
    }
}
